package com.gopay.common.domain.acps;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;


/**
 * 账务核心处理中心 冻结交易明细表
 * 
 * @AcpsFrezTransDtl.java
 * @author zhanglei
 * @2012-12-28 上午11:56:46 www.gopay.com.cn Inc.All rights reserved.
 */
@Entity
@Table(name = "ACPS_FREZ_TRANS_DTL")
public class AcpsFrezTransDtl implements Serializable {
    private static final long serialVersionUID = 8887850824822090527L;
    public static final String SEQUENCE = "ACPS_FREZ_SEQ";

    /********************************** 冻结/解冻 标识 **********************************/
    /** 冻结/解冻 标识 - 冻结 */
    public static final String FRE_FLG_FREEZE = "F";
    /** 冻结/解冻 标识 - 解冻 */
    public static final String FRE_FLG_UNFREEZE = "U";

    /********************************** 审核状态 **********************************/
    /** 审核状态 - 待审核 */
    public static final String VFD_STATUS_TODO = "0";
    /** 审核状态 - 审核人1通过 */
    public static final String VFD_STATUS_1YES = "1";
    /** 审核状态 - 审核人1拒绝 */
    public static final String VFD_STATUS_1NO = "2";
    /** 审核状态 - 审核人2通过 */
    public static final String VFD_STATUS_2YES = "3";
    /** 审核状态 - 审核人2拒绝 */
    public static final String VFD_STATUS_2NO = "4";
    private long freTranSq;
    private String gopayOrderId;
    private String acctId;
    private FrezCode freCode;
    private String freReseanCode;
    private Date freTime;
    private BigDecimal freAmt;
    private String freStatus;
    private String entryUserId;
    private Date entryTime;
    private String vfdUser1;
    private String vfdUser2;
    private Date pstdTime;
    private Date vfdTime;
    private String vfdUser1Rmks;
    private String vfdUser2Rmks;
    private String vfdStatus;
    private String freCurency;
    private Date unfTime;
    private String custId;
    private FrezFlg freFlg;
    private String remarks;

    @Id
    @Column(name = "FRE_TRAN_SQ", unique = true, nullable = false, precision = 22, scale = 0)
    public long getFreTranSq() {
        return this.freTranSq;
    }

    public void setFreTranSq(long freTranSq) {
        this.freTranSq = freTranSq;
    }

    @Column(name = "GOPAY_ORDER_ID", nullable = false, length = 30)
    public String getGopayOrderId() {
        return this.gopayOrderId;
    }

    public void setGopayOrderId(String gopayOrderId) {
        this.gopayOrderId = gopayOrderId;
    }

    @Column(name = "ACCT_ID", length = 19)
    public String getAcctId() {
        return this.acctId;
    }

    public void setAcctId(String acctId) {
        this.acctId = acctId;
    }

    @Column(name = "FRE_CODE", length = 3)
    @Enumerated(EnumType.STRING)
    public FrezCode getFreCode() {
        return this.freCode;
    }

    public void setFreCode(FrezCode freCode) {
        this.freCode = freCode;
    }

    @Column(name = "FRE_RESEAN_CODE", length = 3)
    public String getFreReseanCode() {
        return this.freReseanCode;
    }

    public void setFreReseanCode(String freReseanCode) {
        this.freReseanCode = freReseanCode;
    }

    @Column(name = "FRE_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getFreTime() {
        return this.freTime;
    }

    public void setFreTime(Date freTime) {
        this.freTime = freTime;
    }

    @Column(name = "FRE_AMT", precision = 25, scale = 4)
    public BigDecimal getFreAmt() {
        return this.freAmt;
    }

    public void setFreAmt(BigDecimal freAmt) {
        this.freAmt = freAmt;
    }

    @Column(name = "FRE_STATUS", length = 1)
    public String getFreStatus() {
        return this.freStatus;
    }

    public void setFreStatus(String freStatus) {
        this.freStatus = freStatus;
    }

    @Column(name = "ENTRY_USER_ID", length = 10)
    public String getEntryUserId() {
        return this.entryUserId;
    }

    public void setEntryUserId(String entryUserId) {
        this.entryUserId = entryUserId;
    }

    @Column(name = "ENTRY_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getEntryTime() {
        return this.entryTime;
    }

    public void setEntryTime(Date entryTime) {
        this.entryTime = entryTime;
    }

    @Column(name = "VFD_USER1", length = 10)
    public String getVfdUser1() {
        return this.vfdUser1;
    }

    public void setVfdUser1(String vfdUser1) {
        this.vfdUser1 = vfdUser1;
    }

    @Column(name = "VFD_USER2", length = 10)
    public String getVfdUser2() {
        return this.vfdUser2;
    }

    public void setVfdUser2(String vfdUser2) {
        this.vfdUser2 = vfdUser2;
    }

    @Column(name = "PSTD_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getPstdTime() {
        return this.pstdTime;
    }

    public void setPstdTime(Date pstdTime) {
        this.pstdTime = pstdTime;
    }

    @Column(name = "VFD_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getVfdTime() {
        return this.vfdTime;
    }

    public void setVfdTime(Date vfdTime) {
        this.vfdTime = vfdTime;
    }

    @Column(name = "VFD_USER1_RMKS", length = 50)
    public String getVfdUser1Rmks() {
        return this.vfdUser1Rmks;
    }

    public void setVfdUser1Rmks(String vfdUser1Rmks) {
        this.vfdUser1Rmks = vfdUser1Rmks;
    }

    @Column(name = "VFD_USER2_RMKS", length = 50)
    public String getVfdUser2Rmks() {
        return this.vfdUser2Rmks;
    }

    public void setVfdUser2Rmks(String vfdUser2Rmks) {
        this.vfdUser2Rmks = vfdUser2Rmks;
    }

    @Column(name = "VFD_STATUS", length = 1)
    public String getVfdStatus() {
        return this.vfdStatus;
    }

    public void setVfdStatus(String vfdStatus) {
        this.vfdStatus = vfdStatus;
    }

    @Column(name = "FRE_CURENCY", length = 3)
    public String getFreCurency() {
        return this.freCurency;
    }

    public void setFreCurency(String freCurency) {
        this.freCurency = freCurency;
    }

    @Column(name = "UNF_TIME")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getUnfTime() {
        return this.unfTime;
    }

    public void setUnfTime(Date unfTime) {
        this.unfTime = unfTime;
    }

    @Column(name = "CUST_ID", length = 10)
    public String getCustId() {
        return this.custId;
    }

    public void setCustId(String custId) {
        this.custId = custId;
    }

    @Column(name = "FRE_FLG", precision = 1, scale = 0)
    @Enumerated(EnumType.STRING)
    public FrezFlg getFreFlg() {
        return this.freFlg;
    }

    public void setFreFlg(FrezFlg freFlg) {
        this.freFlg = freFlg;
    }

    @Column(name = "REMARKS", length = 50)
    public String getRemarks() {
        return this.remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

}
